using System;
using System.Data.Entity.ModelConfiguration;
using System.Data.Common;
using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Dal.Entities;

namespace Dal.Mapping
{
	public class Doc4Map : EntityTypeConfiguration<Doc4>
	{
		public Doc4Map()
		{
			// Primary Key
			this.HasKey(t => t.DocID);

			// Properties
			this.Property(t => t.DocID)
				.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
				
			this.Property(t => t.DoseDoc4)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionDoseOtherDoc4)
				.HasMaxLength(50);
				
			this.Property(t => t.SuggestDoc4)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestAddDoc4)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestReduceDoc4)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestOtherDoc4)
				.HasMaxLength(50);
				
			// Table & Column Mappings
			this.ToTable("Doc4");
			this.Property(t => t.DocID).HasColumnName("DocID");
			this.Property(t => t.VisitDateDoc4).HasColumnName("VisitDateDoc4");
			this.Property(t => t.DoseDoc4).HasColumnName("DoseDoc4");
			this.Property(t => t.AdditionDoseOtherDoc4).HasColumnName("AdditionDoseOtherDoc4");
			this.Property(t => t.PHQ9C1Doc4).HasColumnName("PHQ9C1Doc4");
			this.Property(t => t.PHQ9C2Doc4).HasColumnName("PHQ9C2Doc4");
			this.Property(t => t.PHQ9C3Doc4).HasColumnName("PHQ9C3Doc4");
			this.Property(t => t.PHQ9C4Doc4).HasColumnName("PHQ9C4Doc4");
			this.Property(t => t.PHQ9C5Doc4).HasColumnName("PHQ9C5Doc4");
			this.Property(t => t.PHQ9C6Doc4).HasColumnName("PHQ9C6Doc4");
			this.Property(t => t.PHQ9C7Doc4).HasColumnName("PHQ9C7Doc4");
			this.Property(t => t.PHQ9C8Doc4).HasColumnName("PHQ9C8Doc4");
			this.Property(t => t.PHQ9C9Doc4).HasColumnName("PHQ9C9Doc4");
			this.Property(t => t.PHQ9C10Doc4).HasColumnName("PHQ9C10Doc4");
			this.Property(t => t.Remit5C1Doc4).HasColumnName("Remit5C1Doc4");
			this.Property(t => t.Remit5C2Doc4).HasColumnName("Remit5C2Doc4");
			this.Property(t => t.Remit5C3Doc4).HasColumnName("Remit5C3Doc4");
			this.Property(t => t.Remit5C4Doc4).HasColumnName("Remit5C4Doc4");
			this.Property(t => t.Remit5C5Doc4).HasColumnName("Remit5C5Doc4");
			this.Property(t => t.Remit5C6Doc4).HasColumnName("Remit5C6Doc4");
			this.Property(t => t.SuggestDoc4).HasColumnName("SuggestDoc4");
			this.Property(t => t.AdditionSuggestAddDoc4).HasColumnName("AdditionSuggestAddDoc4");
			this.Property(t => t.AdditionSuggestReduceDoc4).HasColumnName("AdditionSuggestReduceDoc4");
			this.Property(t => t.AdditionSuggestOtherDoc4).HasColumnName("AdditionSuggestOtherDoc4");
			this.Property(t => t.StatusAudit).HasColumnName("StatusAudit");
			this.Property(t => t.StatusComplete).HasColumnName("StatusComplete");
			this.Property(t => t.VisitorID).HasColumnName("VisitorID");
		}
	}
}

